\hypertarget{class_s_c_lang}{
\section{SCLang Class Reference}
\label{class_s_c_lang}\index{SCLang@{SCLang}}
}


{\ttfamily \#include $<$sclang.h$>$}

\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{class_s_c_lang_a69c16bf173aacb3fc07644b746920d8c}{AddAction} \{ \par
{\bfseries HeadOfGroup}, 
{\bfseries TailOfGroup}, 
{\bfseries BeforeNode}, 
{\bfseries AfterNode}, 
\par
{\bfseries ReplaceNode}
 \}
\end{DoxyCompactItemize}
\subsection*{Public Slots}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{class_s_c_lang_a2aa9898d3a4611a3e8abf49fa920066f}{handleQuit} ()
\end{DoxyCompactItemize}
\subsection*{Signals}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{class_s_c_lang_ab230c51fdd70b83119662ca5e631cf3e}{booting} ()
\item 
void \hyperlink{class_s_c_lang_a168eb39242f50ac50b63928bcff3d32d}{finishedBooting} ()
\item 
void \hyperlink{class_s_c_lang_a2d79206ac6dddb80c81d1676214929b9}{quitting} ()
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_s_c_lang_ae033470ae13f8bf07f6c97badb17846b}{SCLang} (\hyperlink{class_yig_client}{YigClient} $\ast$yigClient, QString applicationDir=\char`\"{}\char`\"{}, int clientPort=57120, int serverPort=57110, QObject $\ast$parent=0)
\item 
void \hyperlink{class_s_c_lang_a40712af9675f7adddebc0a808181929e}{setClientPort} (int clientPort)
\item 
int \hyperlink{class_s_c_lang_a1c1c423f5b315ae75fbf275948ee73fe}{getClientPort} ()
\item 
void \hyperlink{class_s_c_lang_aa9c01453cdef76a31f45fb13b553e372}{bootServer} ()
\item 
void \hyperlink{class_s_c_lang_ad66188de8e5184655b3e69eda4b52bed}{quitServer} ()
\item 
bool \hyperlink{class_s_c_lang_aeff44693f37ea8f6868d841cfcac42e5}{getServerBootStatus} ()
\item 
\hyperlink{class_synth}{Synth} $\ast$ \hyperlink{class_s_c_lang_a2fb40b784ee40af0ffddd52c63ecdaf1}{newSynth} (const char $\ast$synthDefName, \hyperlink{class_s_c_lang_a69c16bf173aacb3fc07644b746920d8c}{AddAction} addAction=HeadOfGroup, int targetNodeID=1)
\item 
\hyperlink{class_group}{Group} $\ast$ \hyperlink{class_s_c_lang_a2078b906bd3d6275ee5f804c7802bd70}{newGroup} (\hyperlink{class_s_c_lang_a69c16bf173aacb3fc07644b746920d8c}{AddAction} addAction=HeadOfGroup, int targetNodeID=1)
\item 
void \hyperlink{class_s_c_lang_afd500ac65be516745d4bdedc57c06dae}{sendServer} (const char $\ast$command)
\item 
void \hyperlink{class_s_c_lang_a299441cf3f6ee0a12f210ad49558bac2}{sendServer} (const char $\ast$command, int nodeID)
\item 
void \hyperlink{class_s_c_lang_ad541d66239265aaa2e66021a1f9245e6}{sendServer} (const char $\ast$command, int nodeID, const char $\ast$argument, int value)
\item 
void \hyperlink{class_s_c_lang_ac33a2f632e78f1fe9b33b76d863bcc2c}{sendServer} (const char $\ast$command, int nodeID, const char $\ast$argument, float value)
\item 
void \hyperlink{class_s_c_lang_a25a5ea328caa129bccfcd1aed6f1bf57}{sendServer} (const char $\ast$command, int nodeID, QList$<$ const char $\ast$ $>$ arguments, QList$<$ int $>$ values)
\item 
void \hyperlink{class_s_c_lang_a40b24c2c2159d1a0fc36310bb0118e3c}{sendServer} (const char $\ast$command, int nodeID, QList$<$ const char $\ast$ $>$ arguments, QList$<$ float $>$ values)
\end{DoxyCompactItemize}


\subsection{Detailed Description}
\hyperlink{class_s_c_lang}{SCLang} The main class for the lightweight C++ implementation of \hyperlink{class_s_c_lang}{SCLang}. sets up start up and organizes client and server classes and threads. 

\subsection{Member Enumeration Documentation}
\hypertarget{class_s_c_lang_a69c16bf173aacb3fc07644b746920d8c}{
\index{SCLang@{SCLang}!AddAction@{AddAction}}
\index{AddAction@{AddAction}!SCLang@{SCLang}}
\subsubsection[{AddAction}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf SCLang::AddAction}}}
\label{class_s_c_lang_a69c16bf173aacb3fc07644b746920d8c}
Used when adding new Nodes(Synths/Groups) to the sc synth server  HeadOfGroup -\/ add the new node to the the head of the group specified by the add target ID.  TailOfGroup -\/ add the new node to the the tail of the group specified by the add target ID.  BeforeNode -\/ add the new node just before the node specified by the add target ID.  AfterNode -\/ add the new node just after the node specified by the add target ID.  ReplaceNode -\/ the new node replaces the node specified by the add target ID. The target node is freed. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{class_s_c_lang_ae033470ae13f8bf07f6c97badb17846b}{
\index{SCLang@{SCLang}!SCLang@{SCLang}}
\index{SCLang@{SCLang}!SCLang@{SCLang}}
\subsubsection[{SCLang}]{\setlength{\rightskip}{0pt plus 5cm}SCLang::SCLang ({\bf YigClient} $\ast$ {\em yigClient}, \/  QString {\em applicationDir} = {\ttfamily \char`\"{}\char`\"{}}, \/  int {\em clientPort} = {\ttfamily 57120}, \/  int {\em serverPort} = {\ttfamily 57110}, \/  QObject $\ast$ {\em parent} = {\ttfamily 0})}}
\label{class_s_c_lang_ae033470ae13f8bf07f6c97badb17846b}
\hyperlink{class_s_c_lang}{SCLang} 
\begin{DoxyParams}{Parameters}
\item[{\em YigClient$\ast$}]yigClient osc networking client \item[{\em QString}]applicationDir The directory of the main application. Used to find the scsynth plugin directories \item[{\em int}]clientPort The port that our \hyperlink{class_s_c_lang}{SCLang} client will listen on \item[{\em int}]serverPort the port that SCSynth will listen on \item[{\em QObject$\ast$}]parent the parent QObject \end{DoxyParams}


\subsection{Member Function Documentation}
\hypertarget{class_s_c_lang_ab230c51fdd70b83119662ca5e631cf3e}{
\index{SCLang@{SCLang}!booting@{booting}}
\index{booting@{booting}!SCLang@{SCLang}}
\subsubsection[{booting}]{\setlength{\rightskip}{0pt plus 5cm}void SCLang::booting ()\hspace{0.3cm}{\ttfamily  \mbox{[}signal\mbox{]}}}}
\label{class_s_c_lang_ab230c51fdd70b83119662ca5e631cf3e}
emitted when \hyperlink{class_s_c_lang}{SCLang} is booting \hypertarget{class_s_c_lang_aa9c01453cdef76a31f45fb13b553e372}{
\index{SCLang@{SCLang}!bootServer@{bootServer}}
\index{bootServer@{bootServer}!SCLang@{SCLang}}
\subsubsection[{bootServer}]{\setlength{\rightskip}{0pt plus 5cm}void SCLang::bootServer ()}}
\label{class_s_c_lang_aa9c01453cdef76a31f45fb13b553e372}
boots the server with the correct command line arguments \hypertarget{class_s_c_lang_a168eb39242f50ac50b63928bcff3d32d}{
\index{SCLang@{SCLang}!finishedBooting@{finishedBooting}}
\index{finishedBooting@{finishedBooting}!SCLang@{SCLang}}
\subsubsection[{finishedBooting}]{\setlength{\rightskip}{0pt plus 5cm}void SCLang::finishedBooting ()\hspace{0.3cm}{\ttfamily  \mbox{[}signal\mbox{]}}}}
\label{class_s_c_lang_a168eb39242f50ac50b63928bcff3d32d}
emitted when sc synth has completed its boot up process \hypertarget{class_s_c_lang_a1c1c423f5b315ae75fbf275948ee73fe}{
\index{SCLang@{SCLang}!getClientPort@{getClientPort}}
\index{getClientPort@{getClientPort}!SCLang@{SCLang}}
\subsubsection[{getClientPort}]{\setlength{\rightskip}{0pt plus 5cm}int SCLang::getClientPort ()}}
\label{class_s_c_lang_a1c1c423f5b315ae75fbf275948ee73fe}
getClientPort Gets the port number for this \hyperlink{class_s_c_lang}{SCLang} client \begin{DoxyReturn}{Returns}
QString The port number 
\end{DoxyReturn}
\hypertarget{class_s_c_lang_aeff44693f37ea8f6868d841cfcac42e5}{
\index{SCLang@{SCLang}!getServerBootStatus@{getServerBootStatus}}
\index{getServerBootStatus@{getServerBootStatus}!SCLang@{SCLang}}
\subsubsection[{getServerBootStatus}]{\setlength{\rightskip}{0pt plus 5cm}bool SCLang::getServerBootStatus ()}}
\label{class_s_c_lang_aeff44693f37ea8f6868d841cfcac42e5}
getServerBootStatus \begin{DoxyReturn}{Returns}
bool The boot status of scsynth 
\end{DoxyReturn}
\hypertarget{class_s_c_lang_a2aa9898d3a4611a3e8abf49fa920066f}{
\index{SCLang@{SCLang}!handleQuit@{handleQuit}}
\index{handleQuit@{handleQuit}!SCLang@{SCLang}}
\subsubsection[{handleQuit}]{\setlength{\rightskip}{0pt plus 5cm}void SCLang::handleQuit ()\hspace{0.3cm}{\ttfamily  \mbox{[}slot\mbox{]}}}}
\label{class_s_c_lang_a2aa9898d3a4611a3e8abf49fa920066f}
This is called when the main application is attempting to quit, allowing us to clean up threads and such \hypertarget{class_s_c_lang_a2078b906bd3d6275ee5f804c7802bd70}{
\index{SCLang@{SCLang}!newGroup@{newGroup}}
\index{newGroup@{newGroup}!SCLang@{SCLang}}
\subsubsection[{newGroup}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Group} $\ast$ SCLang::newGroup ({\bf AddAction} {\em addAction} = {\ttfamily HeadOfGroup}, \/  int {\em targetNodeID} = {\ttfamily 1})}}
\label{class_s_c_lang_a2078b906bd3d6275ee5f804c7802bd70}
newGroup Creates a new group on the SCSynth server and returns the \hyperlink{class_group}{Group} pointer, which the user will need to delete. 
\begin{DoxyParams}{Parameters}
\item[{\em AddAction}]addAction an action to be performed when adding this synth \item[{\em int}]targetNodeID The node ide for the target of the addAction. Default is the default\_\-group \end{DoxyParams}
\begin{DoxyReturn}{Returns}
Group$\ast$ pointer to the new group. The receiver takes ownership of the group and is responsible for deleting it 
\end{DoxyReturn}
\hypertarget{class_s_c_lang_a2fb40b784ee40af0ffddd52c63ecdaf1}{
\index{SCLang@{SCLang}!newSynth@{newSynth}}
\index{newSynth@{newSynth}!SCLang@{SCLang}}
\subsubsection[{newSynth}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Synth} $\ast$ SCLang::newSynth (const char $\ast$ {\em synthDefName}, \/  {\bf AddAction} {\em addAction} = {\ttfamily HeadOfGroup}, \/  int {\em targetNodeID} = {\ttfamily 1})}}
\label{class_s_c_lang_a2fb40b784ee40af0ffddd52c63ecdaf1}
newSynth Creates a new synth on the SCSynth server and returns the \hyperlink{class_synth}{Synth} pointer, which the user will need to delete. 
\begin{DoxyParams}{Parameters}
\item[{\em const}]char$\ast$ synthDefName name of the precompiled synth definition \item[{\em AddAction}]addAction an action to be performed when adding this synth. \item[{\em int}]targetNodeID The node ide for the target of the addAction. Default is the default\_\-group \end{DoxyParams}
\begin{DoxyReturn}{Returns}
Synth$\ast$ pointer to the new synth. The receiver takes ownership of the synth and is responsible for deleting it 
\end{DoxyReturn}
\hypertarget{class_s_c_lang_ad66188de8e5184655b3e69eda4b52bed}{
\index{SCLang@{SCLang}!quitServer@{quitServer}}
\index{quitServer@{quitServer}!SCLang@{SCLang}}
\subsubsection[{quitServer}]{\setlength{\rightskip}{0pt plus 5cm}void SCLang::quitServer ()}}
\label{class_s_c_lang_ad66188de8e5184655b3e69eda4b52bed}
quits the server and hangs until the servers has actually quit \hypertarget{class_s_c_lang_a2d79206ac6dddb80c81d1676214929b9}{
\index{SCLang@{SCLang}!quitting@{quitting}}
\index{quitting@{quitting}!SCLang@{SCLang}}
\subsubsection[{quitting}]{\setlength{\rightskip}{0pt plus 5cm}void SCLang::quitting ()\hspace{0.3cm}{\ttfamily  \mbox{[}signal\mbox{]}}}}
\label{class_s_c_lang_a2d79206ac6dddb80c81d1676214929b9}
emitted when \hyperlink{class_s_c_lang}{SCLang} is quitting \hypertarget{class_s_c_lang_a40b24c2c2159d1a0fc36310bb0118e3c}{
\index{SCLang@{SCLang}!sendServer@{sendServer}}
\index{sendServer@{sendServer}!SCLang@{SCLang}}
\subsubsection[{sendServer}]{\setlength{\rightskip}{0pt plus 5cm}void SCLang::sendServer (const char $\ast$ {\em command}, \/  int {\em nodeID}, \/  QList$<$ const char $\ast$ $>$ {\em arguments}, \/  QList$<$ float $>$ {\em values})}}
\label{class_s_c_lang_a40b24c2c2159d1a0fc36310bb0118e3c}
set Sets a list of arguments and values for this node on the sc synth server, arguments and values MUST be the same length 
\begin{DoxyParams}{Parameters}
\item[{\em const}]char$\ast$ command The osc command, such as \char`\"{}/n\_\-set\char`\"{} \item[{\em int}]nodeID the node ID of the node to be targeted for this command \item[{\em QList$<$const}]char$\ast$$>$ A list of arguments to be set \item[{\em QList$<$float$>$}]A list of values for the previous arguments \end{DoxyParams}
\hypertarget{class_s_c_lang_a25a5ea328caa129bccfcd1aed6f1bf57}{
\index{SCLang@{SCLang}!sendServer@{sendServer}}
\index{sendServer@{sendServer}!SCLang@{SCLang}}
\subsubsection[{sendServer}]{\setlength{\rightskip}{0pt plus 5cm}void SCLang::sendServer (const char $\ast$ {\em command}, \/  int {\em nodeID}, \/  QList$<$ const char $\ast$ $>$ {\em arguments}, \/  QList$<$ int $>$ {\em values})}}
\label{class_s_c_lang_a25a5ea328caa129bccfcd1aed6f1bf57}
set Sets a list of arguments and values for this node on the sc synth server, arguments and values MUST be the same length 
\begin{DoxyParams}{Parameters}
\item[{\em const}]char$\ast$ command The osc command, such as \char`\"{}/n\_\-set\char`\"{} \item[{\em int}]nodeID the node ID of the node to be targeted for this command \item[{\em QList$<$const}]char$\ast$$>$ A list of arguments to be set \item[{\em QList$<$int$>$}]A list of values for the previous arguments \end{DoxyParams}
\hypertarget{class_s_c_lang_ac33a2f632e78f1fe9b33b76d863bcc2c}{
\index{SCLang@{SCLang}!sendServer@{sendServer}}
\index{sendServer@{sendServer}!SCLang@{SCLang}}
\subsubsection[{sendServer}]{\setlength{\rightskip}{0pt plus 5cm}void SCLang::sendServer (const char $\ast$ {\em command}, \/  int {\em nodeID}, \/  const char $\ast$ {\em argument}, \/  float {\em value})}}
\label{class_s_c_lang_ac33a2f632e78f1fe9b33b76d863bcc2c}
sendServer sends the server an osc command 
\begin{DoxyParams}{Parameters}
\item[{\em const}]char$\ast$ command The osc command, such as \char`\"{}/g\_\-freeAll\char`\"{} \item[{\em int}]nodeID the node ID of the node to be targeted for this command \item[{\em const}]char$\ast$ argument The name of the argument (\char`\"{}freq\char`\"{} or \char`\"{}amp\char`\"{} for example) to be set \item[{\em float}]value Value for the command, reference the SC docs for server commands \end{DoxyParams}
\hypertarget{class_s_c_lang_ad541d66239265aaa2e66021a1f9245e6}{
\index{SCLang@{SCLang}!sendServer@{sendServer}}
\index{sendServer@{sendServer}!SCLang@{SCLang}}
\subsubsection[{sendServer}]{\setlength{\rightskip}{0pt plus 5cm}void SCLang::sendServer (const char $\ast$ {\em command}, \/  int {\em nodeID}, \/  const char $\ast$ {\em argument}, \/  int {\em value})}}
\label{class_s_c_lang_ad541d66239265aaa2e66021a1f9245e6}
sendServer sends the server an osc command 
\begin{DoxyParams}{Parameters}
\item[{\em const}]char$\ast$ command The osc command, such as \char`\"{}/g\_\-freeAll\char`\"{} \item[{\em int}]nodeID the node ID of the node to be targeted for this command \item[{\em int}]value Value for the command, reference the SC docs for server commands \end{DoxyParams}
\hypertarget{class_s_c_lang_a299441cf3f6ee0a12f210ad49558bac2}{
\index{SCLang@{SCLang}!sendServer@{sendServer}}
\index{sendServer@{sendServer}!SCLang@{SCLang}}
\subsubsection[{sendServer}]{\setlength{\rightskip}{0pt plus 5cm}void SCLang::sendServer (const char $\ast$ {\em command}, \/  int {\em nodeID})}}
\label{class_s_c_lang_a299441cf3f6ee0a12f210ad49558bac2}
sendServer sends the server an osc command 
\begin{DoxyParams}{Parameters}
\item[{\em const}]char$\ast$ command The osc command, such as \char`\"{}/g\_\-freeAll\char`\"{} \item[{\em int}]nodeID the node ID of the node to be targeted for this command \end{DoxyParams}
\hypertarget{class_s_c_lang_afd500ac65be516745d4bdedc57c06dae}{
\index{SCLang@{SCLang}!sendServer@{sendServer}}
\index{sendServer@{sendServer}!SCLang@{SCLang}}
\subsubsection[{sendServer}]{\setlength{\rightskip}{0pt plus 5cm}void SCLang::sendServer (const char $\ast$ {\em command})}}
\label{class_s_c_lang_afd500ac65be516745d4bdedc57c06dae}
sendServer sends the server an osc command 
\begin{DoxyParams}{Parameters}
\item[{\em const}]char$\ast$ command The osc command, such as \char`\"{}/quit\char`\"{} \end{DoxyParams}
\hypertarget{class_s_c_lang_a40712af9675f7adddebc0a808181929e}{
\index{SCLang@{SCLang}!setClientPort@{setClientPort}}
\index{setClientPort@{setClientPort}!SCLang@{SCLang}}
\subsubsection[{setClientPort}]{\setlength{\rightskip}{0pt plus 5cm}void SCLang::setClientPort (int {\em clientPort})}}
\label{class_s_c_lang_a40712af9675f7adddebc0a808181929e}
setClientPor 
\begin{DoxyParams}{Parameters}
\item[{\em int}]clientPort The new port number for this \hyperlink{class_s_c_lang}{SCLang} client \end{DoxyParams}


The documentation for this class was generated from the following files:\begin{DoxyCompactItemize}
\item 
sc++/sclang.h\item 
sc++/sclang.cpp\end{DoxyCompactItemize}
